package com.itc.dispatch.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.Data;

import javax.validation.constraints.NotBlank;

/**
 *
 * @TableName alarm_centre
 */
@TableName(value ="alarm_centre")
@Data
public class AlarmCentre implements Serializable {
    /**
     * 告警中心页面主键id
     */
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "告警中心页面主键id",required = true)
    private Long id;

    /**
     * 告警类型
     */
    @ApiModelProperty("告警类型")

    private String alarmType;

    /**
     * 告警时间
     */
    @ApiModelProperty("告警时间")
    private String alarmTime;

    /**
     * 告警名称
     */
    @ApiModelProperty("告警名称")
    private String alarmName;

    /**
     * 告警等级
     */
    @ApiModelProperty("告警等级 1,2,3,4对应各个等级")
    private Integer alarmGrade;

    /**
     * 告警内容
     */
    @ApiModelProperty("告警内容")
    private String alarmMsg;

    /**
     * 关联规则数据集表名
     */
    @ApiModelProperty("关联规则数据集表名")
    private String tablesName;

    /**
     * 关联规则字段名
     */
    @ApiModelProperty("关联规则字段名")
    private String fieldName;

    /**
     * 告警状态
     */
    @ApiModelProperty("告警状态 0_待确认 1_已确认 2_已处置 3_误报 4_已关闭")
    private Integer alarmStatus;

    /**
     *   手动触发_0 ,规则自动触发_1
     */
    @ApiModelProperty("手动触发_0 ,规则自动触发_1")
    private Integer triggerByType;
    /**
     * 规则表关联id
     */
    @ApiModelProperty("规则表关联id")
    private Long ruId;

    /**
     * 删除状态
     */
    @ApiModelProperty("删除状态 0_正常，1_删除")
    private Integer delete;

    /**
     * 配置管理表关联id
     */
    @ApiModelProperty("配置管理表关联id")
    private Long configId;


    /**
     * 告警确定部门id/席位id
     */
    @ApiModelProperty("告警确定部门id/席位id")
    private String confirmIds;

    /**
     * 告警关联流程id
     */
    @ApiModelProperty("告警关联流程id")
    private String flowIds;



    /**
     * 关联其他预警id
     */
    @ApiModelProperty("关联其他预警id")
    private String alarmIds;

    /**
     * 关联的数据唯一标识值
     */
    @ApiModelProperty("关联的数据唯一标识值")
    private String uniqueDataValue;


    /**
     * 是否为上级告警（1：是，0：否）
     */
    @ApiModelProperty("是否为上级告警（1：是，0：否）")
    private Integer isTop;

    /**
     * 关联的其他告警
     */
    @ApiModelProperty("关联的其他告警")
    private List<AlarmCentre> childAlarmList;


    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}
